
https://leetcode.cn/problems/gas-station/description/
//class Solution {
//public:
//    int canCompleteCircuit(vector<int>& gas, vector<int>& cost)
//    {
//        int n = gas.size();
//        for (int i = 0; i < n; i++)
//        {
//            int res = 0;
//            int j = 0;
//            for (; j < n; j++)
//            {
//                int index = (i + j) % n;
//                res = res + gas[index] - cost[index];
//                if (res < 0)
//                {
//                    break;
//                }
//            }
//            if (res >= 0) return i;
//            i = i + j;
//        }
//        return -1;
//    }
//};

https://leetcode.cn/problems/jump-game/description/
//class Solution {
//public:
//    bool canJump(vector<int>& nums)
//    {
//        int n = nums.size(), left = 0, right = 0, maxpos = 0;
//        while (left <= right)
//        {
//            if (n - 1 <= maxpos) return true;
//            for (int i = left; i <= right; i++)
//            {
//                maxpos = max(maxpos, nums[i] + i);
//            }
//            left = right + 1;
//            right = maxpos;
//        }
//        return false;
//    }
//};